package com.spark.modules.generation.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.spark.common.annotation.Dict;
import com.spark.common.annotation.query.Query;
import com.spark.common.constants.QueryConstants;
import com.spark.common.core.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 在线设计字段映射
 *
 * @author LYCHEE
 * @date 2025/02/21 14:49
 */
@Data
@TableName("online_field_mapping")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class GenFieldMapping extends BaseEntity {

    /**
     * 字段类型
     */
    @Query(QueryConstants.QUERY_LIKE)
    @NotBlank(message = "数据库字段类型不能为空")
    private java.lang.String fieldType;

    /**
     * JAVA字段类型
     */
    @Query(QueryConstants.QUERY_LIKE)
    @NotBlank(message = "JAVA字段类型不能为空")
    private java.lang.String javaFieldType;

    /**
     * JAVA字段包路径
     */
    @NotBlank(message = "JAVA字段包路径不能为空")
    private java.lang.String javaFieldPackage;

    /**
     * 默认长度
     */
    @NotNull(message = "默认长度不能为空")
    private java.lang.Integer defaultLength;

    /**
     * 状态
     *  : 0正常 1禁用
     */
    @Query
    @Dict(dictCode = "status")
    @NotNull(message = "状态不能为空")
    private java.lang.Integer status;

    /**
     * 备注
     */
    private java.lang.String remark;

}
